ggplot2: Basics

Bild von Allison Horst.

ggplot2: Das Paket


ggplot2 gehört zum tidiverse

#install.packages("tidyverse")
library(tidyverse)


… kann aber natürlich auch seperat geladen werden:

#install.packages("ggplot2")
library(ggplot2)

Erste Schritte.

Foto von Omar Lopez auf Unsplash

Komponenten

Hier ein ganz simples beispiel von Anfang bis Ende. Welche daten? Irgendwas, was für linear regression geeignet ist. TidyTuesday?

Olympische Daten wieder? Daran könnte man den Medaillienverlauf auch gut zeigen. Aber irgendwas wäre besser mit kontinuierlich durchlaufenden daten.

Daten vorstellen

library(tidyverse)

athletes <- readRDS(file = here::here("raw_data", "athletes.rds"))
world_coordinates <- readRDS(file = here::here("raw_data", "world_coordinates.rds"))

medal_counts <- athletes %>%
  filter(Medal == "Gold") %>%
  group_by(Region) %>%
  count(Medal)

medal_countries <- world_coordinates %>%
  rename("Region" = region) %>%
  left_join(medal_counts)

Best country each year.

medal_counts <- athletes %>% 
  filter(!is.na(Medal)) %>% 
  group_by(Year, Region) %>% 
  count(Medal) %>%
  group_by(Year, Medal) %>%
  slice_max(order_by = n, n = 1, with_ties = FALSE)

Daten

ggplot(data = medal_counts) 

Aesthetic mappings

ggplot(data = medal_counts, 
       mapping = aes(x = Year, y = n))

Das erzeugt erst einmal nur das Koordinatensystem. Als nächstes fügen wir layers hinzu.

Layer

ggplot(data = medal_counts, 
       aes(x = Year, y = n)) +
  geom_point()

Maybe plot against number of total medals

ggplot(data = medal_counts, 
       aes(x = Year, y = n, colour = Region, group = Medal)) +
  geom_point() +
  geom_line(aes(colour = Medal))

Let’s take a deeper look

Hier dann nochmal genauer durchgehen - Was haben wir eigentlich gemacht. Nicht zu sehr in den Basics verlieren, auch schneller tiefer reingehen (scales, coord system …)